iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
Security

道德駭客新手入門系列 第 23

Day 23 網站應用程式入侵

  • 分享至 

  • xImage
  •  

網站應用程式

Web應用程式是運行在網頁瀏覽器上的軟體程序,它們充當用戶與Web伺服器之間的接口。這些應用程式允許用戶透過網頁界面進行互動,請求、提交和擷取數據,並與數據庫進行交互。它們使用瀏覽器支援的語言(如JavaScript、HTML和CSS),並通常與伺服器端腳本結合使用,以實現動態功能。

Web應用程式具有廣泛的用途,包括搜索、電子郵件發送、社交連接、網上購物等。用戶可以通過瀏覽器在任何設備上訪問這些應用程式,並與之互動。Web伺服器負責存儲應用程式數據並將其傳送到用戶的瀏覽器中。

Web應用程式的發展在全球範圍內迅速增長,這部分歸功於互聯網的廣泛使用和在線業務的蓬勃發展。它們具有多個優勢,包括獨立於操作系統、隨時隨地訪問、可自定義的用戶界面等。

然而,值得注意的是,儘管Web應用程式實施了一些安全策略,但它們仍然容易受到各種安全攻擊的威脅,包括SQL注入、跨站腳本攻擊和會話劫持等。因此,在開發和維護Web應用程式時,安全性是一個關鍵問題,需要特別關注。

網站應用程式運作方式

Web應用程式的主要功能是從資料庫中查詢出用戶請求的數據。當用戶在瀏覽器中點擊或輸入URL時,Web應用程式立即在瀏覽器中顯示所請求的網站內容。

  1. 首先,用戶在瀏覽器中輸入網站名稱或URL。然後,用戶的請求被發送到Web伺服器。
  2. 收到請求後,Web伺服器檢查文件的擴展名:
    • 如果用戶請求一個帶有HTM或HTML擴展名的簡單網頁,Web伺服器處理請求並將文件發送給用戶的瀏覽器。
    • 如果用戶請求需要在伺服器端進行處理的具有擴展名(如php、asp和cfm)的網頁,則Web應用程式伺服器必須處理請求。
  3. 因此,Web伺服器將用戶的請求傳遞給Web應用程式伺服器,後者處理用戶的請求。
  4. Web應用程式伺服器然後訪問數據庫,通過更新或擷取存儲在其中的信息來執行所請求的任務。
  5. 在處理完請求後,Web應用程式伺服器最終將結果發送給Web伺服器,然後Web伺服器將結果發送給用戶的瀏覽器。

網站應用程式架構

Web應用程式運行在網頁瀏覽器上,使用一組伺服器端腳本(如Java、C#、Ruby、PHP等)和客戶端腳本(如HTML、JavaScript等)來執行應用程式。Web應用程式的運作方式取決於其架構,該架構包括執行任務的硬體和軟體,例如讀取請求以及搜索、收集和顯示所需的數據。Web應用程式架構包括不同的設備、網頁瀏覽器和外部Web服務,這些與不同的腳本語言一起工作,以執行Web應用程式。它由三個層次組成:

  1. 客戶端或呈現層
  2. 業務邏輯層
  3. 數據庫層

客戶端或呈現層包括所有位於客戶端的物理設備,例如筆記型電腦、智能手機和計算機。這些設備搭載操作系統和相容的瀏覽器,使用戶能夠發送對所需Web應用程式的請求。用戶通過在瀏覽器中輸入URL來請求網站,請求被傳遞到Web伺服器。Web伺服器然後回應請求並擷取所請求的數據;應用程式最終以Web頁面的形式在瀏覽器中顯示這個回應。

“業務邏輯”層本身包含兩個層次:Web伺服器邏輯層和業務邏輯層。Web伺服器邏輯層包括各種組件,如防火牆、HTTP請求解析器、代理緩存伺服器、驗證和登錄處理器、資源處理器以及硬體組件,例如伺服器。防火牆為內容提供安全性,HTTP請求解析器處理來自客戶端的請求並將回應轉發給客戶端,資源處理器能夠同時處理多個請求。Web伺服器邏輯層包含從瀏覽器讀取數據並返回結果的代碼(例如IIS Web伺服器、Apache Web伺服器)。

業務邏輯層包括Web應用程式的功能邏輯,使用技術如.NET、Java和“中間件”來實現。它定義了數據的流動,根據開發人員使用的編程語言來構建應用程式。它存儲應用程式數據並將遺留應用程式集成到應用程式的最新功能中。伺服器需要特定的協議來從其數據庫訪問用戶請求的數據。這一層包括軟體並定義了搜索和擷取數據的步驟。

數據庫層包括雲服務、保存所有商業交易的B2B層以及以結構化形式提供組織生產數據的數據庫伺服器(例如MS SQL Server、MySQL伺服器)。

網路應用程式在OSI的漏洞

  • 第7層:如果攻擊者在業務邏輯中發現漏洞(使用語言如.NET和Java實現),他們可以利用這些漏洞,例如進行輸入驗證攻擊(例如XSS)。
  • 第6層:第三方套件以實現某些功能的服務(例如,攻擊者針對的Amazon.com是主要網站;citrix.com是第三方網站)。當客戶選擇要購買的產品時,他們會單擊“購買/結帳”按鈕。這會將他們重定向到他們的網上銀行帳戶,通過支付門戶完成購買。第三方網站(例如citrix.com)提供此類支付門戶。攻擊者可能會利用這種重定向作為進入Amazon.com並利用的途徑/方式。
  • 第5層:Web伺服器是托管網站的軟體程式。當使用者訪問網站時,他們會向Web伺服器發送URL請求。伺服器解析此請求,並以在瀏覽器中顯示的Web頁面形式回應。攻擊者可以對主持目標網站的Web伺服器執行足跡,並獲取包含Web伺服器名稱和版本等信息的橫幅。他們還可以使用工具,如Nmap,來收集此類信息。然後,他們可能開始在CVE資料庫中搜索針對特定Web伺服器或服務版本號的已發佈漏洞,並利用他們找到的任何漏洞。
  • 第4層:資料庫儲存敏感用戶訊息,如用戶ID、密碼、電話號碼和其他詳細訊息。目標網站的資料庫中可能存在漏洞。攻擊者可以使用工具,如sqlmap,來利用這些漏洞,以取得對目標資料庫的控制權。
  • 第3層:攻擊者掃描作業系統以查找開放的端口和漏洞,並開發病毒/後門來利用它們。他們透過這些開放的 port 向目標機器傳送惡意軟體,並通過執行此類惡意軟體,來破壞機器並控制它。隨後,他們試圖訪問目標網站的資料庫。
  • 第2層:路由器/交換機將網路流量僅路由到特定的機器。攻擊者會向這些交換機發送大量請求,以用盡CAM表,使其行為像集線器。然後,他們將注意力集中在目標網站上,通過嗅探網路中的資料(其中可能包括憑據或其他個人訊息),來進行攻擊。
  • 第1層:入侵檢測系統(IDS)和入侵防禦系統(IPS)如果有任何惡意流量進入目標機器或伺服器,將發出警報。攻擊者會採取迴避技術以規避這些系統,以便在攻擊目標時不觸發警報。

上一篇
Day 22 網站伺服器入侵 5
下一篇
Day 24 網站應用程式入侵 2
系列文
道德駭客新手入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言